package 编码转换流;

import java.io.*;

public class 编码转换测试 {
    public static void main(String[] args) {
        //f1();往1.txt写入文字的操作
        f2();//读取1.txt文字的操作
    }

    private static void f2() {
        //1.创建一个在本方法中都生效的局部变量
        InputStreamReader in=null;
        //2.1注意IO操作需要捕捉处理异常
        try{
            //2.2创建流对象
            in=new InputStreamReader(new FileInputStream("F:\\a\\1.txt"),"utf-8");
            //通过流对象读取数据
            //System.out.println(in.read());//打印的是编码65533
            //需求:读取1.txt中的中文内容,并且打印在控制台
            char [] ch=new char[8192];
            int len=in.read(ch);
            System.out.println(new String(ch,0,len));
            System.out.println("恭喜您!读取成功");
        }catch (Exception e){
            System.out.println("很抱歉!读取失败");
            e.printStackTrace();
        }finally {
            try {
                in.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }

    private static void f1() {
        //1.创建一个在本方法中都生效的局部变量
        OutputStreamWriter out=null;
        //2.2注意捕获处理异常
        try{
            //2.1创建流对象
            //一定要保证保存和打开时使用的是同一张码表,就不会出现乱码问题
            out=new OutputStreamWriter(new FileOutputStream("F:\\a\\1.txt"),"utf-8");
            //3.使用流对象进行写出
            //out.write("海绵宝宝&派大星");
            System.out.println("执行成功");
        }catch (Exception e){
            System.out.println("执行失败");
            e.printStackTrace();
        }finally {
            try {
                out.close();
            }catch (Exception  e){
                e.printStackTrace();
            }
        }
    }
}
